package util;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

public class HibernateUtil {
	private static SessionFactory sf;
	
	static{
		Configuration cfg=new Configuration();
		//read hibernate.cfg.xml and hbm.xml
		//配置文件默认放于classpath的根路径下
		cfg=cfg.configure();
//		System.out.println(new File("src/hibernate.cfg.xml").getAbsolutePath());;
//		cfg=cfg.configure(new File("src/hibernate.cfg.xml"));
		//2、获取核心API——Session
		sf=cfg.buildSessionFactory();
	}
	
	public static Session getSession(){
		//不管线程中有没有Session都创建一个新Session，此方法要手动关闭Session
		//不用手动打开事务
//		Session s=sf.openSession();
		//线程中有Session则取出，无则新建；此方法要在hibernate.cfg.xml中配个property，无须关闭Session
		//要手动打开事务
//		Session s = sf.getCurrentSession();
		return sf.getCurrentSession();
	}
	
	public static void closeSessionFactory(){
		sf.close();
	}
}
